import request from '@/config/axios'
import { DsgnVo } from '@/api/res/approval/vo/DsgnServiceVo'

// 资源中心 VO
export interface CenterVO {
  id: number // id
  parentId: number // 父级资源
  code: string // 资源编号
  name: string // 资源名称
  alias: string // 资源别名
  path: string // 请求地址
  source: string // 资源资源
  sort: number // 排序
  category: number // 资源类型
  action: number // 操作按钮类型
  isOpen: number // 是否打开新页面
  remark: string // 备注
  createDept: number // 创建部门
  status: number // 状态
  icon: string // 图标
}

// 资源中心 API
export const CenterApi = {
  // 查询资源设计详情
  getDsgnById: async (id: number) => {
    return await request.get({ url: `/res/center/getDsgnById?id=` + id })
  },

  // 保存资源设计信息
  dsgnApprovalSave: async (data) => {
    return await request.post({ url: `/res/center/dsgnApprovalSave`, data })
  },
  // 发布资源设计信息
  dsgnApprovalPublish: async (data) => {
    return await request.post({ url: `/res/center/dsgnApprovalPublish`, data })
  },

  // 保存资源设计信息
  dsgnFormSave: async (data) => {
    return await request.post({ url: `/res/center/dsgnFormSave`, data })
  },
  // 发布资源设计信息
  dsgnFormDeploy: async (data) => {
    return await request.post({ url: `/res/center/dsgnFormDeploy`, data })
  },
  // 查询资源中心列表
  getCenterList: async (params) => {
    return await request.get({ url: `/res/center/list`, params })
  },

  // 查询应用设计列表
  getCenterPage: async (params) => {
    return await request.get({ url: '/res/app-dsgn/page', params })
  },
  // 查询资源中心详情
  getCenter: async (id: number) => {
    return await request.get({ url: `/res/center/get?id=` + id })
  },

  // 新增资源中心
  createCenter: async (data: CenterVO) => {
    return await request.post({ url: `/res/center/create`, data })
  },

  // 修改资源中心
  updateCenter: async (data: CenterVO) => {
    return await request.put({ url: `/res/center/update`, data })
  },

  // 删除资源中心
  deleteCenter: async (id: number) => {
    return await request.delete({ url: `/res/center/delete?id=` + id })
  },

  // 导出资源中心 Excel
  exportCenter: async (params) => {
    return await request.download({ url: `/res/center/export-excel`, params })
  },
  /**
   * 资源menu拖动排序
   * @param row
   * @returns {*}
   */
  dragRowSort: async (fullData) => {
    return await request.post({
      url: 'res/center/dragRowSort',
      data: fullData
    })
  }
}
